﻿// Decompiled with JetBrains decompiler
// Type: BUTR.DependencyInjection.Logger.LoggerExtensions
// Assembly: MCMv5, Version=5.10.2.0, Culture=neutral, PublicKeyToken=null
// MVID: 7AB326B9-B2B4-41C2-9177-68E944071101
// Assembly location: D:\steam\steamapps\workshop\content\261550\2859238197\bin\Win64_Shipping_Client\MCMv5.dll

using System;

#nullable enable
namespace BUTR.DependencyInjection.Logger
{
  public static class LoggerExtensions
  {
    public static void LogDebug(
      this IBUTRLogger logger,
      Exception exception,
      string message,
      params object[] args)
    {
      if (logger == null)
        throw new ArgumentNullException(nameof (logger));
      logger.LogMessage(LogLevel.Debug, message, args);
    }

    public static void LogDebug(this IBUTRLogger logger, string message, params object[] args)
    {
      if (logger == null)
        throw new ArgumentNullException(nameof (logger));
      logger.LogMessage(LogLevel.Debug, message, args);
    }

    public static void LogTrace(
      this IBUTRLogger logger,
      Exception exception,
      string message,
      params object[] args)
    {
      if (logger == null)
        throw new ArgumentNullException(nameof (logger));
      logger.LogMessage(LogLevel.Trace, message, args);
    }

    public static void LogTrace(this IBUTRLogger logger, string message, params object[] args)
    {
      if (logger == null)
        throw new ArgumentNullException(nameof (logger));
      logger.LogMessage(LogLevel.Trace, message, args);
    }

    public static void LogInformation(
      this IBUTRLogger logger,
      Exception exception,
      string message,
      params object[] args)
    {
      if (logger == null)
        throw new ArgumentNullException(nameof (logger));
      logger.LogMessage(LogLevel.Information, message, args);
    }

    public static void LogInformation(
      this IBUTRLogger logger,
      string message,
      params object[] args)
    {
      if (logger == null)
        throw new ArgumentNullException(nameof (logger));
      logger.LogMessage(LogLevel.Information, message, args);
    }

    public static void LogWarning(
      this IBUTRLogger logger,
      Exception exception,
      string message,
      params object[] args)
    {
      if (logger == null)
        throw new ArgumentNullException(nameof (logger));
      logger.LogMessage(LogLevel.Warning, message, args);
    }

    public static void LogWarning(this IBUTRLogger logger, string message, params object[] args)
    {
      if (logger == null)
        throw new ArgumentNullException(nameof (logger));
      logger.LogMessage(LogLevel.Warning, message, args);
    }

    public static void LogError(
      this IBUTRLogger logger,
      Exception exception,
      string message,
      params object[] args)
    {
      if (logger == null)
        throw new ArgumentNullException(nameof (logger));
      logger.LogMessage(LogLevel.Error, message, args);
    }

    public static void LogError(this IBUTRLogger logger, string message, params object[] args)
    {
      if (logger == null)
        throw new ArgumentNullException(nameof (logger));
      logger.LogMessage(LogLevel.Error, message, args);
    }

    public static void LogCritical(
      this IBUTRLogger logger,
      Exception exception,
      string message,
      params object[] args)
    {
      if (logger == null)
        throw new ArgumentNullException(nameof (logger));
      logger.LogMessage(LogLevel.Critical, message, args);
    }

    public static void LogCritical(this IBUTRLogger logger, string message, params object[] args)
    {
      if (logger == null)
        throw new ArgumentNullException(nameof (logger));
      logger.LogMessage(LogLevel.Critical, message, args);
    }
  }
}
